#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import datetime, os

import abc



class AbstractDPJob():
    __metaclass__ = abc.ABCMeta
    max_end_time_cache = dict()
    query_sts_cache = dict()
    related_info_cache = dict()
    low_upper_limit_cache = dict()


    def __init__(self):
        super(AbstractDPJob, self).__init__()


        self.max_end_time_cache = dict()
        self.query_sts_cache = dict()
        self.related_info_cache = dict()
        self.low_upper_limit_cache = dict()

    def execute(self):

        self.do_execute()


        # NOTE clear cache 为下一次Job
        self.max_end_time_cache = dict()
        self.query_sts_cache = dict()
        self.related_info_cache = dict()
        self.low_upper_limit_cache = dict()
        pass

    @abc.abstractmethod
    def do_execute(self):
        pass
